package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc ImplementCurrentRightCycleScopeAnalyseComReqDto
 * @使用场景
 */
@Data
public class ImplementCurrentRightCycleScopeAnalyseComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 父子中周期数据模型 FATHER_MID_SUB_SAME:父子中同体 FATHER_MID_SAME:父中同体 FATHER_SUB_SAME:父子同体 FATHER_MID_SUB_DIFF:父子中独立
     */
    //@NotNull(message = "父子中周期数据模型不能为空")
    @ApiModelProperty("父子中周期数据模型")
    private String fatherMidSubCycleDataModel;

    /**
     * 被评对象目标周期ID
     */
    @NotNull(message = "被评对象目标周期ID不能为空")
    @ApiModelProperty("被评对象目标周期ID")
    private String evaObjTargetCycleId;

    /**
     * 父周期周期类型
     */
    @NotNull(message = "父周期周期类型不能为空")
    @ApiModelProperty("父周期周期类型")
    private String fatherCycleType;

    /**
     * 父周期被评对象目标周期ID
     */
    @NotNull(message = "父周期目标周期ID不能为空")
    @ApiModelProperty("父周期目标周期ID")
    private String fatherEvaObjTargetCycleId;

    /**
     * 父周期ID
     */
    @NotNull(message = "父周期周期ID不能为空")
    @ApiModelProperty("父周期周期ID")
    private String fatherCycleId;

    /**
     * 中期周期类型
     */
    @ApiModelProperty("中期周期类型")
    private String midCycleType;

    /**
     * 中期被评对象目标周期ID
     */
    @ApiModelProperty("中期目标周期ID")
    private String midEvaObjTargetCycleId;

    /**
     * 中期周期ID
     */
    @ApiModelProperty("中期周期ID")
    private String midCycleId;

    /**
     * 冗余评价模板ID
     */
    @NotNull(message = "冗余评价模板ID不能为空")
    @ApiModelProperty("冗余评价模板ID")
    private String evaluationTemplateId;

    /**
     * 当前周期ID
     */
    @NotNull(message = "当前周期ID不能为空")
    @ApiModelProperty("当前周期ID")
    private String currentCycleId;

    /**
     * 当前周期类型标识
     */
    @NotNull(message = "当前周期类型标识不能为空")
    @ApiModelProperty("当前周期类型标识")
    private String currentCycleTypeCode;

}
